Executor client drain observer#7710
Executor client drain observer#7710gazi-yestemirova wants to merge 6 commits intocadence-workflow:masterfrom
Conversation
Signed-off-by: Gaziza Yestemirova <gaziza@uber.com>
Signed-off-by: Gaziza Yestemirova <gaziza@uber.com>
Signed-off-by: Gaziza Yestemirova <gaziza@uber.com>
Signed-off-by: Gaziza Yestemirova <gaziza@uber.com>
Signed-off-by: Gaziza Yestemirova <gaziza@uber.com>
Signed-off-by: Gaziza Yestemirova <gaziza@uber.com>
🔍 CI failure analysis for c809aef: Five CI failures: (1) PR title missing conventional commit prefix, (2) Struct field tag alignment needs formatting fix, (3-5) Three flaky/infrastructure tests unrelated to PR changes (rate limiter, async workflow consumer, integration test timeout).Issue 1: PR Title FormatThe CI check "Validate PR title follows conventional commit format" failed because the PR title does not follow the conventional commit format. Root CauseThe PR title DetailsBased on the PR content (adding drain signal handling to executor clients), this is a new feature. Suggested title: Reference: https://www.conventionalcommits.org/ Issue 2: Formatting - Struct Field AlignmentThe golangci-lint job failed because code formatting changes were not committed. Root CauseIn Current (needs fix): Metadata ExecutorMetadata `optional:"true"`
DrainObserver clientcommon.DrainSignalObserver `optional:"true"`Expected (after formatting): Metadata ExecutorMetadata `optional:"true"`
DrainObserver clientcommon.DrainSignalObserver `optional:"true"`Issue 3: Flaky Test - Rate Limiter (Unrelated)The codecov job failed due to a test failure in Issue 4: Flaky Test - Async Workflow Consumer (Unrelated)The Golang unit test job failed in Issue 5: Integration Test Timeout (Unrelated)The Golang integration test with sqlite failed after 11m50s with no specific test failure logged: Root CauseThis is unrelated to PR changes. The PR only modifies Code Review 👍 Approved with suggestions 0 resolved / 1 findingsClean implementation of drain/undrain signal handling for executor clients and namespace manager. The namespace manager has comprehensive tests for the new drain logic, but the executor client's drain/undrain path (heartbeatloop drain case and waitForUndrain) still lacks unit test coverage. 💡 Quality: No unit tests for executor client drain/undrain path📄 service/sharddistributor/client/executorclient/clientimpl.go:224 📄 service/sharddistributor/client/executorclient/clientimpl.go:253 The executor client's drain signal handling in
The namespace manager has comprehensive drain tests ( Rules ❌ No requirements metRepository Rules
Tip Comment OptionsAuto-apply is off → Gitar will not commit updates to this branch. Comment with these commands to change:
Was this helpful? React with 👍 / 👎 | Gitar |
What changed?
Why?
How did you test it?
Potential risks
Release notes
Documentation Changes
Reviewer Validation
PR Description Quality (check these before reviewing code):
go testinvocation)